home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gold Medal Software 2
/
Gold Medal Software Volume 2 (Gold Medal) (1994).iso
/
bbsutils
/
ansi_j.arj
/
ANSI.DOC
< prev
next >
Wrap
Text File
|
1993-05-15
|
10KB
|
181 lines
ANSI.COM
Command
Michael J. Mefford
1989 No. 2 (Utilities)
Purpose: A memory-resident utility that enables selectable use of the
extended screen and keyboard control sequences that normally require loading the
ANSI.SYS device driver. Unlike ANSI.SYS, ANSI.COM supports all video modes,
permits sizing and clearing the key-assignment buffer, and provides high-speed
screen updating.
Format: ANSI [FAST | SLOW][ON | OFF][KON | KOFF][PON | POFF][XON | XOFF]
[/B nnn][/P nn][/C][/U][/Q][/T]
Remarks: ANSI.COM may be installed either at the DOS prompt or through an
AUTOEXEC.BAT file. It will not load itself if ANSI.SYS has already been loaded
as part of a CONFIG.SYS file. ANSI.COM will not load multiple copies of itself,
so its command name may be invoked repeatedly in the same session to change
user-selectable parameters.
Upon loading, ANSI defaults to the FAST and ON status parameters. For
use with IBM CGA video cards (where direct screen writes produce "snow") or with
some screen capture software, the SLOW (screen writing via the BIOS, as with
ANSI.SYS) status option may be selected. Entering ANSI OFF disables recognition
of the ANSI control codes (but reassigned keys are still functional).
Also upon loading ANSI defaults to KON and PON status parameters.
Entering POFF disables the ANSI reassignment function so no new reassignments
can be entered until reactivated by PON. Current assignments are still active.
This prevents unauthorized changes to you keyboard being made by silly people
who embed ANSI sequences into text documents to do harm to your system.
Entering KOFF disables the ANSI reassignments but still allows new assignments
to be made to the buffer or old ones removed. This allows simple ON / OFF
control of assigments without clearing the buffer and reloading each time
when a particular program is affected by the assignments. All keyboard
reassignments in the buffer become active again upon the issuing PON. The /Q
switch can be used to suppress output when executed. /P nn can be used to
protect a number of lines at the top of the screen from being scrolled when
the cursor reaches the bottom of the screen. Scrolling will occur starting
at the line specified (Zero is the top line and the Default setting.)
/P* will use the line above the current line. |
The ANSI.COM key assignment buffer defaults to a size of 200 bytes. The
buffer may be increased to as much as 60K or decreased to 0 bytes by entering
ANSI with the /B switch and the desired number of bytes as nnn. Resizing the
buffer after initial installation requires deinstallation, which may be
accomplished using the /U switch. Current key assignments are lost if the
buffer is resized. The buffer can be cleared without resizing by invoking ANSI
with the /C switch.
The full command set of IBM-ANSI control sequences is printed in the
original article and in the DOS Technical Reference manual. This information
can also be downloaded from PC Magnet.
Available for downloading from PC MagNet (see the ANSI by Modem
sidebar), ANSI.COM is already compiled and ready to run. ANSI.BAS will
automatically create ANSI.COM when run once in BASIC. To create ANSI.COM from
the ANSI.ASM source code requires use of a macro assembler (IBM or Microsoft,
Version 2 or later) and the following commands:
New /T option added to test if installed. Attempts to do an uninstall
without actually uninstalling. If Not Installed an Errorlevel of 1 occurs.
If already installed the status switches are returned in the ErrorLevel as |
follows: OFF 1 |
ON 2 |
SLOW 4 |
FAST 8 |
KOFF 16 |
KON 32 |
POFF 64 |
PON 128 |
If not already installed, the program will not be installed when testing. |
New /S option will load stat. data from ANSICOM.SYS file for PCBoard
@Variable@ substitution. This file can be created by another program (I
will write one soon in QuickBasic) which reads PCBoard.DAT, CNAMES, User.Sys
and User.Inf and formats the data into the required format of ANSICOM.SYS.
ANSICOM.ASM shows the format of the storage. The length must be 495 Bytes
(extra will be ignored, less will issue error message.) Issuing the /S option
without ANSICOM.SYS being present in the current directory will result in an
error message also.
XON Mode (the Default) controls the translation of @Xnn PCBoard color codes
into actual screen color changes. XOFF causes the codes to be ignored (they
will be translated and removed but will not actually set the color.) This
allows viewing a file containg these codes in "Black-and-White" mode to
how they will look to Non-Color mode Users on PCBoard.
If the position in a set cursor position command is beyond the bounds
of the screen then the highest row or column, as appropriate, is used.
Update 3/2/89 - Fix for DOS function 0Bh, Check Standard Input Status
and STDIN in ANSI_INT_21 handler.
Leading zero inserted for Device Status Report for
single digit cursor positions.
INFORMATION typo 40 for 40H.
WRITE_FAST modified to handle CR and LF instead of
WRITE_CHAR.
Update 3/7/89 - Fix for CLS in graphics mode. Version 1.2
Update 8/8/89 - STI added to INT 21 and 29 handler. Version 1.3
Update 01/01/90 - [KON | KOFF] and [PON | POFF] added Version 1.31
Update 03/23/90 - /Q option added for no output when exectued 1.32
Update 05/16/90 - removed Syntax from output unless needed 1.33
added /T test for load.
Update 10/28/90 - added /P nn command to 'Protect' nn lines 1.34
at the top of the screen from scrolling
up when the bottom of the screen is reached.
Update 12/01/90 - Added PCBoard @X## color code support 1.35
also added @Variable@ Support
added /S to load stats data from file
Update 12/12/90 - My mistake, I didn't realize @X00 saved 1.36
the color and @XFF restored it. Works now.
Also made prompts return to start of line
when cleared (like PCBoard does) & QON
now changes @MORE@ & @PAUSE@ into @WAIT@
Gary Meeker (Versions 1.31 to 1.36)
Update 4/20/91 - Change set cursor routine. If new position 1.37
is off the screen use the last row or column.
Added switch to not include PCB code.
Corrected syntax display.
Modified CLS to honor protected (/P) lines
Modified /T to returned status switches.
Modified /P to accept * to mean current row-1.
Update 9/19/91 - Allow ESC[p to clear all KB reassigns and 1.38
ESC[np to clear single key reassign.
ie: ESC[65p will reset ascii 65 to it's default [A]
Update 01/01/92 - Added XON/XOFF to control @X## color codes 1.39
added support for finding relocated copies.
This should allow LOADHI under DOS 5 or QRAM/QEMM
(all changes marked with ;^ - Gary Meeker)
(Was added to my 1.37 version 01/09/91 but now
incorporated into this version as 1.39 to include
changes by Wayne Mingee)
Update 05/15/93 - Added additional support for PCBoard 15.0 1.3J
@Variable:xxx@ and new variables (@DELAY:nn@, @POS:nn@,
@WHO@, @OFFHOURS@, @LMR@, @FREESPACE@, @RFILES@, @RBYTES@,
@SFILES@, @SBYTES@, @BICPS@, @RCPS@, @SCPS@, @CARRIER@)
Gary Meeker (Versions 1.39 to 1.3j)
The files contained in this Archive should be:
-------------------------------------------------------------------------------
Name Length Date CRC-32
ANSI.DOC 9756 05-15-93 ???????? Documentation for ANSI.COM (This file)
ANSI.ASM 125210 05-15-93 8aeef926 Assembly source code for ANSI.COM
ANSI.COM 3715 05-15-93 1ee98ced Executable version for Non-Sysop use
ANSIPCB.COM 6389 05-15-93 e3189e03 Executable version for Sysop use
(includes @codes@ translation)
ANSICOM.ASM 4812 05-15-93 f0158867 Assembly source code for ANSICOM.SYS
ANSICOM.SYS 817 05-15-93 28c7634f Sample data file for loading into
ANSI.COM's buffer area for translation
of PCBoard @codes@
-------------------------------------------------------------------------------
To assemble, first change the line in ANSI.ASM:
PCB equ 1 ;$ 1 = if PCB code wanted
to 1 or 0 depending on whether you want PCBoard support code or not.
Then use the following:
MASM ANSI;
LINK ANSI;
EXE2BIN ANSI ANSI.COM;
MASM ANSICOM;
LINK ANSICOM;
EXE2BIN ANSICOM ANSICOM.SYS;